//熟练利用数组特性
var firstMissingPositive = function(nums) {
    for(let i=0;i<nums.length;i++){
        if(nums[i]>0&&nums[i]<=nums.length&&nums[i]!=i+1){
            let j = nums[i] - 1;
            [nums[j],nums[i]] = [nums[i],nums[j]]
        }
    }
    for(let j=0;j<nums.length;j++){
        if(nums[j]!==j+1){
            return j+1
        }
    }
    return nums.length+1
}